package net.edu_soft.ec.asset.controller.manage;

import net.edu_soft.ec.asset.pojo.Factory;
import net.edu_soft.ec.asset.pojo.UserInfo;
import net.edu_soft.ec.asset.service.ManageService;
import net.edu_soft.ec.asset.service.UserInfoService;
import net.edu_soft.ec.common.exception.ParameterException;
import net.edu_soft.ec.common.util.PagingDispose;
import net.edu_soft.ec.common.util.ResultUtil;
import net.edu_soft.ec.common.util.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
@RequestMapping("/manage")
public class ManageController {
    @Autowired
    private UserInfoService userInfoService;


    @Autowired
    private ManageService manageService;

    /**
     * 显示用户列表
     * @param pageNum 当前页
     * @param pageSize 页显示条数
     * @return
     */
    @RequestMapping("/getUserList")
    public ResultVo getUserList(Integer pageNum, Integer pageSize) {
        ResultVo sd=new ResultVo();
        List<UserInfo> list=userInfoService.getUserList();
        sd.setData(PagingDispose.data(pageNum,pageSize,list));
        sd.setMessage("ok");
        return sd;
    }


    /**
     * 获取所有公司
     * @return
     */
    @RequestMapping("/getAllFactory")
   public ResultUtil getAllFactory(){
        return ResultUtil.succeed(manageService.getAllFactory());
   }


    /**
     * 通过开发商id获取该开发商的所有产品
     * @param id
     * @return
     */
    @RequestMapping("/getFactoryProduct")
    public ResultUtil findByFactoryId(Integer id){
        return ResultUtil.succeed(manageService.findByFactoryId(id));
    }

    /**
     * 通过产品id获取该产品的所有评论
     * @param id
     * @return
     */
    @RequestMapping("/getComment")
    public ResultUtil getComment(Integer id){
        return ResultUtil.succeed(manageService.getComment(id));
    }


    /**
     * 获取该用户关注的所有开发商信息
     * @param id
     * @return
     */
    @RequestMapping("/getUserAttention")
    public ResultUtil getUserAttention(Integer id){
        return ResultUtil.succeed(manageService.getUserAttention(id));
    }


    /**
     * 获取该用户关注的所有产品信息
     * @param id
     * @return
     */
    @RequestMapping("/getUserProduct")
    public ResultUtil getUserProduct(Integer id){
        return ResultUtil.succeed(manageService.getUserProduct(id));
    }


    /**
     * 获取该用户申请的所有试用信息
     * @param id
     * @return
     */
    @RequestMapping("/getUserApply")
    public ResultUtil getUserApply(Integer id){
        return ResultUtil.succeed(manageService.getUserApply(id));
    }


    /*
    获取所有用户申请信息
     */
    @RequestMapping("/getAllApply")
    public ResultUtil getAllApply(){
        return ResultUtil.succeed(manageService.getAllApply());
    }
    /**
     * 管理员审核，处理
     * @param id
     * @return
     */
    @RequestMapping("/updataApplyStatus")
    public ResultUtil updataApplyStatus(Integer id,Integer status){
        int i=manageService.updataApplyStatus(id,status);
        if(i==0){
            throw new ParameterException("操作失败");
        }
        return ResultUtil.succeed("ok");
    }







    /*获取产品类型*/

    /*按厂家id添加产品*/

    /*获取产品列表*/
    @RequestMapping("/getproductlist")
    public ResultUtil getProductList(Integer pageNum, Integer pageSize){
        return ResultUtil.succeed(PagingDispose.data(pageNum,pageSize,manageService.getProductList()));
    }

    /*获取产品详细信息*/



    /*获取新闻、通知信息*/

    /*获取消息分类*/

    /*创建新闻、通知*/



    /*获取所有用户申请试用记录*/

    /*用户申请处理*/

    /*获取所有用户请求托管记录*/

    /*用户请求处理*/


    /*轮播管理*/

    /*添加产品分类*/

    /*添加消息分类*/

    /*调整试用时间*/


}
